package businesslogicservice.facultyteacherservice;

import java.util.ArrayList;

import po.Institute;
import vo.CourseSelectionVO;
import vo.CourseVO;
import vo.LessonVO;
import vo.Message;
import vo.StrategyVO;
import vo.StudentVO;
import businesslogic.coursebl.CourseController;
import businesslogic.courseselectionbl.ScoreService;
import businesslogic.strategybl.StrategyController;
import businesslogic.userbl.StudentControl;
import businesslogicservice.courseblservice.CourseBLService;
import businesslogicservice.courseselectionblservice.CourseSelectionBLService;
import businesslogicservice.strategyblservice.StrategyBLService;
import businesslogicservice.userblservice.StudentBLService;

public class FacultyTeacherController implements FacultyTeacherService {
	CourseBLService courseBL = new CourseController();
	StudentBLService studentBL = new StudentControl();
	StrategyBLService StrategyBL = new StrategyController();
	CourseSelectionBLService courseSelectionBL = new ScoreService();

	@Override
	public Message publishCourse(CourseVO vo) {
		Message message = courseBL.publishCourse(vo);
		return message;
	}

	@Override
	public Message deleteCourse(String courseId) {
		Message message = courseBL.deleteCourse(courseId);
		return message;
	}

	@Override
	public Message modifyCourse(CourseVO vo) {
		Message message = courseBL.modifyCourse(vo);
		return message;
	}

	@Override
	public ArrayList<CourseVO> findCourse(Institute institute) {
		ArrayList<CourseVO> list = courseBL.findCourse(institute);
		return list;
	}

	@Override
	public Message publishLesson(LessonVO vo) {
		Message mesage = courseBL.publishLesson(vo);
		return mesage;
	}

	@Override
	public Message deleteLesson(String lessonId, String term) {
		Message mesage = courseBL.deleteLesson(lessonId, term);
		return mesage;
	}

	@Override
	public Message modifyLesson(LessonVO vo) {
		Message mesage = courseBL.modifyLesson(vo);
		return mesage;
	}

	@Override
	public ArrayList<LessonVO> findLesson(Institute institute, String term) {
		ArrayList<LessonVO> list = courseBL.findLesson(institute, term);
		return list;
	}

	@Override
	public ArrayList<StudentVO> findStudentVO(Institute institute, int year) {
		ArrayList<StudentVO> list = studentBL.findStudentVO(institute, year);
		return list;
	}

	@Override
	public StrategyVO getStrategy() {
		StrategyVO vo = StrategyBL.getStrategy();
		return vo;
	}

	@Override
	public ArrayList<CourseSelectionVO> getCourseScoreList(String lessonID,
			String term) {
		ArrayList<CourseSelectionVO> list = courseSelectionBL
				.getCourseScoreList(lessonID, term);
		return list;
	}

}
